package org.huangrui.spark.scala.core.rdd.operate

import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Author hr
 * @Create 2024-10-16 22:38 
 */
object Spark03_Operate_Transform_Filter {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local[*]").setAppName("spark")
    val sc = new SparkContext(conf)
    val nums = List(1, 2, 3, 4, 5)
    // TODO RDD的转换方法：filter(过滤)
    //      RDD可以根据指定的过滤规则对数据源中的数据进行筛选过滤
    //      如果满足规则（返回结果true），那么数据保留，如果不满足规则（返回结果false），那么数据就会丢弃

    // Map => A(String) -> B(User, List, Int)
    // Filter => A ->
    // filter方法在执行过程中可能会出现数据倾斜的情况，需要慎重考虑
    sc.parallelize(nums,2).filter((_: Int) % 2 == 0).foreach(println)

    sc.stop()
  }
}
